#include <QApplication>
#include <QTranslator>
#include <QLibraryInfo>
#include <QTextCodec>
#include <QLocale>
#include <QDebug>
#include <QDir>
#include <QString>

#include "config.h"
#include "widget.h"



void initDirs ();

//-------------------------------
int main(int argc, char *argv[])
{
	//	****************************
	//	* Initialisations importantes *
	//	****************************

	QApplication::setDesktopSettingsAware (true);
	QApplication::setQuitOnLastWindowClosed (true);

	QApplication app (argc, argv);

	app.setOrganizationName ("PapaJaac");
	app.setApplicationName (Config::appName ());
	app.setApplicationVersion (Config::appVersion ());
	app.setWindowIcon (Config::appIcon ());

	QTextCodec::setCodecForTr (QTextCodec::codecForName ("UTF-8"));
	QTextCodec::setCodecForCStrings (QTextCodec::codecForName ("UTF-8"));

	// pour avoir les boutons des boîtes de dialogue dans la langue locale (fr par défaut)
	QTranslator qtTranslator;
	qtTranslator.load (
				"qt_" + QLocale::system ().name (),
				QLibraryInfo::location (QLibraryInfo::TranslationsPath)
				);
	app.installTranslator (&qtTranslator);

	// pour avoir l'appli localisée
	QTranslator appTranslator;
	appTranslator.load (
				Config::appName () + '_' + QLocale::system ().name (),
				":/translate/"
				);
	app.installTranslator (&appTranslator);

	initDirs ();

	Widget* w = new Widget ();
	w->show ();

	int ret = app.exec ();

	delete w;
	return ret;
}
//---------------
void initDirs ()
{
	QDir dir;
	if (! dir.mkpath (Config::appWorkPath ()))
		qDebug () << "erreur de création de " << Config::appWorkPath ();
}
